//public enum TalkingOrder
//{
//    MsgReceivedTime = 0,
//    InitiatorThenRoundTable = 1,
//    ContributionScore = 2,
//}

//public abstract class ChatChainConfigBase : SerializableConfigBase
//{
//    protected override string _configPath => "./Configs/ChatChainConfig.txt";

//    public ChatChainConfigBase() : base()
//    {
//    }

//    public abstract TalkingOrder TalkingOrder { get; }
//    protected abstract string defaultGptModel { get; }
//    protected abstract string teamContextAwarenessHeader { get; }
//    protected abstract string WorkPrinciple { get; }
//    public abstract Dictionary<ChatAgentEnum, AgentSetupInfo> AgentSetupInfos { get; }

//    public abstract List<ChatChainPhase> phases { get; }



//    public abstract string workspaceName { get; }

//    public string TeamContextAwareness {
//        get {
//            //Generate development process description
//            var phasesDescription = $"The development process is divided into {phases.Count} phases, " +
//                                   $"each phases contains 1 or more steps, the development process contains the following phases: \n";
//            for (var i = 0; i < phases.Count; i++)
//            {
//                var chatChainPhase = phases[i];
//                phasesDescription += $"{i + 1}. {chatChainPhase.phaseName}\n";
//            }

//            if (teamContextAwarenessHeader == null)
//            {
//                return phasesDescription;
//            }
//            else
//            {
//                return teamContextAwarenessHeader + "\n" + phasesDescription;
//            }
//        }
//    }
//}
